//
//  TokDBProtocol.h
//  tok
//
//  Created by sijian on 12-7-5.
//  Copyright (c) 2012年 __MyCompanyName__. All rights reserved.
//

#import <Foundation/Foundation.h>

@protocol TokDBProtocol <NSObject>
@optional


@required
/*
 *通过对象增加数据,
 *如果失败，则全部回滚，返回失败的对象及原因
 */
-(id *)insertWithObject:(NSArray *)obj;

/*
 *通过对象删除数据
 *如果失败，则全部回滚，返回失败的对象与原因
 */
-(id *)deleteWithObject:(NSArray *)obj;

/*
 *根据传入的类名，查询条件，返回字段名，排序字段名进行数据查询
 *查询返回结果为数组
 */
-(NSArray *)queryWithObject:(Class *)obj conditionCluse:(NSString *) whereSql Columns:(NSArray *) returnColunm Orderby:(NSArray *) orderColumn sort:(int) sortModel;

/*
 * 更新数据库内的数据对象
 *
 */ 
-(id *)updateWithObject:(NSMutableArray *)obj;

/*
 *执行插入更新语句
 *返回BOOL
 *
 */
-(BOOL) executeUpdate:(NSString *) sql;

/*
 *执行查询语句
 *返回为查询结果为数组，每个数组元素为一个NSDictionary
 *NSDictionary的key为返回字段名，value为字段对应值
 *无返回结果时，返回nil
 */
-(NSArray *)executeQuery:(NSString *) sql;


@end
